In computer programming, a third-party software component is a reusable software component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform. The third-party software component market thrives because many programmers believe that component oriented development improves the efficiency and quality of developing custom applications. However, this belief may be misplaced because the majority of these components are not subject to the same quality controls that one would expect to find in other industries. It is rare to find a software component that was developed in accordance with a general standard such as ISO 9001, let alone a more specific standard that would be applicable to the function of the component. For instance, there is a British Standards Institution specification BS 6117:1981 which details the requirements for the performance and characteristics of glass bottles for light wine, however no such standard exists for a software component that would provide a Java logging framework. This means that the user of such a software component would not be able to rely on it having a predictable behaviour.
Microsoft Visual Basic Spawned the first commercially viable market for reusable software components. Visual Basic's first extensibility mechanism was the specification for Visual Basic Extensions, commonly known as "custom controls".
In version 4.0 of Visual Basic, the OCX custom control was introduced to replace VBX. OCX was later renamed ActiveX and then COM. In version 7.0 of Visual Basic, also known as VB.NET, Microsoft introduced the .NET Component to replace both VBX and ActiveX. It was still possible to use many ActiveX components in VB.NET by wrapping them in a .NET layer.